﻿/*
SINACOR - BMF&Bovespa
Arquivo: IControleMovimentoBolsa.cs
Criado em: 19-mar-2010 09:34:02
Arquiteto ResponsÃ¡vel: p-Wgeneroso
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Infra.Common;
using Sinacor.Infra.UI.Common;
using Sinacor.Infra.Common.Exceptions;


namespace Sinacor.UI.Bovespa.Movimento.Presenter 
{
	public interface IControleMovimentoBolsa : IBaseView 
	{
		/// <summary>
		/// Abre janela de aguarde para o usuÃ¡rio
		/// </summary>
		void AbrirAguarde();

		/// <summary>
		/// Atualiza os dados de datas bindadas na tela
		/// </summary>
		void AtualizarDatas();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio solicitando a confirmaÃ§Ã£o para abrir o movimento.
		/// </summary>
		bool ConfirmarAberturaMovimento();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio solicitando a confirmaÃ§Ã£o para consolidar o movimento.
		/// 
		/// </summary>
		bool ConfirmarConsolidacaoMovimento();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio solicitando confirmaÃ§Ã£o para fechamento.
		/// </summary>
		/// <param name="mensagem"></param>
		bool ConfirmarContinuacaoFechamento(string mensagem);

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio solicitando a confirmaÃ§Ã£o para o fechamento do
		/// movimento.
		/// </summary>
		bool ConfirmarFechamentoMovimento();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio solicitando a confirmaÃ§Ã£o para reabertura do
		/// movimento.
		/// </summary>
		bool ConfirmarReaberturaMovimento();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio solicitando a confirmaÃ§Ã£o para sair da tela de
		/// controle de movimento bolsa.
		/// </summary>
		bool ConfirmarSaida();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio solicitando confirmaÃ§Ã£o para simulaÃ§Ã£o do fechamento.
		/// 
		/// </summary>
		bool ConfirmarSimulacaoFechamento();

		/// <summary>
		/// Fecha janela de aguarde
		/// </summary>
		void FecharAguarde();

		/// <summary>
		/// Fecha a tela de controle de movimento faturamento bolsa
		/// </summary>
		void FecharTela();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio informando que a abertura nÃ£o foi efetuada.
		/// </summary>
		void InformarAberturaNaoEfetuada();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio informando que a consolidaÃ§Ã£o nÃ£o foi efetuada.
		/// </summary>
		void InformarConsolidacaoNaoEfetuada();

		/// <summary>
		/// Exibe mensagem informando que ocorreu um erro inesperado no processamento do
		/// controle de movimento bolsa.
		/// </summary>
		void InformarErroInesperado();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio informando que o fechamento foi concluÃ­do
		/// </summary>
		void InformarFechamentoConcluido();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio informando que o fechamento nÃ£o foi efetuado.
		/// </summary>
		void InformarFechamentoNaoEfetuado();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio informando que o movimento estÃ¡ aberto.
		/// </summary>
		void InformarMovimentoAberto();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio informando que o movimento foi consolidado.
		/// </summary>
		void InformarMovimentoConsolidado();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio informando que a reabertura nÃ£o foi efetuada.
		/// </summary>
		void InformarReaberturaNaoEfetuada();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio informando que a simulaÃ§Ã£o foi concluÃ­da.
		/// </summary>
		void InformarSimulacaoConcluida();

		/// <summary>
		/// Exibe mensagem ao usuÃ¡rio informando que a simulaÃ§Ã£o nÃ£o foi efetuada.
		/// </summary>
		void InformarSimulacaoNaoEfetuada();

		/// <summary>
		/// Inicializa objetos para controle de movimento bolsa.
		/// </summary>
		void InicializarObjetosMovimentoBolsa();

		/// <summary>
		/// Preparar tela para abertura do movimento
		/// </summary>
		void PrepararTelaAbertura();

		/// <summary>
		/// Prepara a tela para abertura em D+1
		/// </summary>
		void PrepararTelaAberturaD1();

		/// <summary>
		/// Prepara a tela para consolidaÃ§Ã£o do movimento
		/// </summary>
		void PrepararTelaConsolidacao();

		/// <summary>
		/// Prepara a tela para fechamento do movimento
		/// </summary>
		void PrepararTelaFechamento();

		/// <summary>
		/// Prepara tela para reabertura do movimento
		/// </summary>
		void PrepararTelaReabertura();

        string RetornarMensagemExibicaoFormatada(string p);

        void AtualizarErrosServico();
    }

}